001 /**
002 * Created by IntelliJ IDEA.
003 * User: Wei Wang
004 * Date: Dec 5, 2002
005 * Time: 2:23:12 PM
006 */
007
008 package EVolve.util.equators;
009
010 import EVolve.util.DataTrace;
011
012 public abstract class Equator implements Cloneable{
013 protected String name;
014 protected int interval;
015 protected float percent;
016 protected DataTrace trace;
017
018 public Equator() {
019 interval = 10;
020 percent = 100;
021 }
022
023 public void setInterval(int interval) {
024 this.interval = interval;
025 }
026
027 public void setMatch(float percent) {
028 this.percent = percent;
029 }
030
031 public int getInterval() {
032 return interval;
033 }
034
035 public float getMatch() {
036 return percent;
037 }
038
039 public DataTrace getDataTrace() {
040 return trace;
041 }
042
043 public abstract String getName();
044
045 public abstract boolean isEqual(Set set1, Set set2);
046
047 public abstract DataTrace initialDataTrace(int interval, int entityNumber);
048
049 public Object clone() {
050 Equator o = null;
051 try {
052 o = (Equator)super.clone();
053 } catch (CloneNotSupportedException e) {
054 e.printStackTrace();
055 return null;
056 }
057
058 o.name = name;
059 o.trace = (DataTrace)trace.clone();
060
061 return o;
062 }
063 }